package com.wyvoid.forum.service;

import java.util.List;

import org.springframework.dao.DataAccessException;
import com.wyvoid.core.persistent.Pagination;
import com.wyvoid.core.persistent.hibernate.HibernatePage;
import com.wyvoid.forum.domain.Note;

/**
 * 公告业务处理接口
 * 
 * @author 51void
 * @link www.51void.com
 */
public interface INoteService {

	/**
	 * 查找日志信息
	 * <ol>
	 * 	<li>forumId为-1时,取全部信息</li>
	 * 	<li>forumId为0时,首页信息</li>
	 * </ol>
	 * @param forumId 论坛编号
	 * @param pagination 分页对象
	 * @return HibernatePage 公告集合
	 */
	public HibernatePage getNotess(final int forumId, final Pagination pagination) ;
	
	/**
	 * 查找日志信息
	 * <ol>
	 * 	<li>forumId为-1时,取全部信息</li>
	 * 	<li>forumId为0时,首页信息</li>
	 * </ol>
	 * @param forumId 论坛编号
	 * @return List 公告集合
	 */
	public List getNotes(final int forumId) ;
	
	/**
	 * 根据公告编号查找的公告数据
	 * @return Note 公告对象
	 */	
	public Note getNote(int noteId) throws DataAccessException ;
	
	/**
	 * 创建公告
	 * @param note 公告对象
	 */
	public void createNote(Note note) ;
	
	/**
	 * 删除公告
	 * @param noteId　公告编号
	 */
	public void deleteNote(int noteId) ;
	
	/**
	 * 修改公告信息	
	 * @param note 公告信息
	 */
	public void editNote(Note note) ;
	
}
